#pragma once

/**
 * @copyright Copyright (c) 2025 
 * CSG Digital Grid Technology (Guangdong) Co., Ltd.
 * @author zhouyan
 * @brief iec101 asdu数据解码
*/
#include "xtTypes.h"
#include "IEC_asdu.h"

namespace XIEC {
class CAsduDecoder {
public:
    static bool decode(const xuint8* frame, xuint8 len, DataUnitTag& dataUnit, CVectInfoObject& infoObjects, const Settings &settings);
    static bool asduDecode(const xuint8* frame, xuint8 len,  xuint8 typeId, VSQ vsq, CVectInfoObject& infoObjects, const Settings &settings);
    static CInfoObject* newInfoObject(xuint8 typeId);
};


}; /*  XIEC  */
